#include "gather_task.h"
#include "stdio.h"
TaskHandle_t gatherHandler;
	
void init_gather(){
    //温度的采集
    DHT11_Init();
	//光感和烟雾采集
    ADCx_Init();
	//雨水采集初始化
    rain_Init();
}

void gather_task(void * param){
	
u16 value;
    while (1)
    {
        GatherData source;
	/*
    //读取dth11采集的数据
       u8 temp; u8 humi;
       DHT11_Read_Data(&temp,&humi);
       printf("read data: %d , %d \r\n",temp,humi);
       
	*/
    /*
        value=Get_ADC_Value(ADC_Channel_9,1);
    printf("The detected AD value is %d\r\n",value);
    value=100-value/40;//光照用100减原数值除以40的值
    if(value>=100)value=100;
        printf("read data: %d\r\n",value);
    */
    /*
    value=Get_ADC_Value(ADC_Channel_8,1);//都用的通道9,因此要换成8,通道9是PB1,通道8是PB0
    printf("The detected AD value is %d\r\n",value);
    value=value/40;//烟雾传感器对比光照只是用原数值直接除以40
    if(value>=100)value=100;
    printf("read data: %d\r\n",value);
    */
    /*
    printf("The detected AD value is %d \r\n",DATA_PIN_READ);
    */
        //获取温湿度数据
        DHT11_Read_Data(&source.temp,&source.humi);   
        //光照
        source.sunshine=Get_ADC_Value(ADC_Channel_9,1);
        //烟雾
        source.smoke=Get_ADC_Value(ADC_Channel_8,1);
        //雨水 0：有水  1：没水
        source.raidrop=DATA_PIN_READ==0?0:1;
        //把原始数据给 GatherDataHandlerMemory 的数据处理函数进行数据的加工
        dataHandler(&source);

        vTaskDelay(1000);
    }
    
}
//用来创建一个任务 ，心跳任务
/*
    1.心跳 -让用户去感知设备在工作
    2.每过几秒钟给后台报备自己的状态 -- 网络 http tcp udp
*/
void createGatherTask(){
    xTaskCreate(
        gather_task,
        "gather_task",
        128,
        NULL,
        2,
        &gatherHandler
    );
}
